1. Field of the Invention
This invention relates to imaging in optical code reading engines. Aspects of the invention are particularly useful in solid state, area image sensing based, handheld code readers which are positioned at variable orientations and distances with respect to a target code.
2. Description of the Related Art
Optical codes are patterns made up of image areas having different light reflective or light emissive properties, which are typically assembled in accordance with a priori rules. The term “barcode” is sometimes used to describe certain kinds of optical codes. The optical properties and patterns of optical codes are selected to distinguish them in appearance from the background environments in which they are used. Devices for identifying or extracting data from optical codes are sometimes referred to as “optical code readers” of which barcode scanners are one type. Optical code readers are used in both fixed or portable installations in many diverse environments such as in stores for check-out services, in manufacturing locations for work flow and inventory control and in transport vehicles for tracking package handling. The optical code can be used as a rapid, generalized means of data entry, for example, by reading a target barcode from a printed listing of many barcodes. In some uses, the optical code reader is connected to a portable data processing device or a data collection and transmission device. Frequently, the optical code reader includes a handheld sensor which is manually directed at a target code.
Most conventional optical scanning systems are designed to read one-dimensional barcode symbols. The barcode is a pattern of variable-width rectangular bars separated by fixed or variable width spaces. The bars and spaces have different light reflecting characteristics. One example of a one dimensional barcode is the UPC/EAN code used to identify, for example, product inventory. An example of a two-dimensional or stacked barcode is the PDF417 barcode. A description of PDF417 barcode and techniques for decoding it are disclosed in U.S. Pat. No. 5,635,697 to Shellhammer et al., and assigned to Symbol Technologies, Inc., which is incorporated herein by reference in its entirety. Another conventional optical code is known as “MaxiCode”. It consists of a central finder pattern or bull's eye center and a grid of hexagons surrounding the central finder. It should be noted that the aspects of the inventions disclosed in this patent application are applicable to optical code readers, in general, without regard to the particular type of optical codes which they are adapted to read. The invention described may also be applicable to some associated image recognition or analysis.
Most conventional scanning systems generate one or more beams of laser light which reflects off a barcode symbol and back to the scanning system. The system obtains a continuous analog waveform corresponding to the light reflected by the code along one or more scan lines of the system. The system then decodes the waveform to extract information from the barcode. A system of this general type is disclosed, for example, in U.S. Pat. No. 4,251,798, assigned to Symbol Technologies, Inc. A beam scanning system for detecting and decoding one and two dimensional barcodes is disclosed in U.S. Pat. No. 5,561,283, also assigned to Symbol Technologies, Inc.
Some such scanning systems are deployed in handheld units which may be manually pointed at the target. Often an individual scanner is a component of a much larger system including other scanners, computers, cabling, data terminals, etc. Such systems are frequently designed and constructed on the basis of mechanical and optical specifications for the scanning engine, sometimes called “form factors”. One such form factor is the SE1200 form factor designed by Symbol Technologies, Inc.
Optical codes can also be read by employing optical code readers having an imaging engine. An imaging engine includes an image sensor having a two-dimensional array of cells or photo sensors, such as an area charge coupled device (CCD), which correspond to image elements or pixels in a field of view of the engine. The imaging engine further includes a lens assembly for focusing light incident on the image sensor and associated circuitry coupled to the image sensor outputting electronic signals corresponding to a two-dimensional array of pixel information for the field of view. The electrical signals are processed by a processor for extracting information indicative of the focus quality of an image corresponding to the field of view.
An optical code reader having selectable fields of view and working depths of view is disclosed in U.S. Pat. No. 6,340,114 B1, assigned to Symbol Technologies, Inc., the contents of which are incorporated by reference in their entirety. An imaging optical code reader adapted for use in producing video displays, such as for use in motion detection surveillance is disclosed in U.S. Pat. No. 6,336,587, assigned to Symbol Technologies, Inc, the contents of which are incorporated by reference in their entirety. However, the above assemblies do not analyze an image to determine the quality of focusing for adjusting the lens assembly in order to improve focusing of the light incident on the image sensor.
Accordingly, it is an object of the present invention to provide an optical code reader having an imaging engine with an image sensor and an adjustable lens assembly, and a computing device for processing information provided by electrical signals generated by the image sensor for determining focus quality, and generating lens adjustment control signals for adjusting the position of a lens assembly to adjust the focus quality of an image produced by an image sensor.
It is a further object of the present invention to reduce processing time for processing the electrical signals generated by the imaging sensor in order to provide rapid focusing and rapid scanning.
It is an additional object of the present invention to provide an imaging engine which can be substituted for a predetermined form factor scanning engine, such as the SE900 and SE1200 form factor scanning engines which are utilized in currently deployed optical code readers to increase the reliability, versatility and focusing ability of such readers